package com.ruoyi.system.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 合同明细对象 sys_contract_label
 *
 * @author ruoyi
 * @date 2025-06-17
 */
public class SysContractLabel extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private Long id;

    /** 科目主键 */
    @Excel(name = "科目主键")
    private Long subjectClassId;

    /** 课时 */
    @Excel(name = "课时")
    private Long subjectClassTime;

    /** 单价 */
    @Excel(name = "单价")
    private BigDecimal price;

    /** 明细类型 */
    @Excel(name = "明细类型")
    private Long labelType;

    /** 奖学金折扣 */
    @Excel(name = "奖学金折扣")
    private Long scholarshipDiscount;

    /** 合价 */
    @Excel(name = "合价")
    private BigDecimal totalPrice;

    /** 合同表头主键 */
    @Excel(name = "合同表头主键")
    private Long contractId;

    /** 状态 */
    @Excel(name = "状态")
    private Long status;

    /** 已上课时 */
    @Excel(name = "已上课时")
    private Long duringClassTime;

    /** 剩余课时 */
    @Excel(name = "剩余课时")
    private Long remainingClassTime;

    /** 已排课时(未上) */
    @Excel(name = "已排课时(未上)")
    private Long notDuringClassTime;

    /** 合同编号 */
    @Excel(name = "合同编号")
    private String contractCode;

    /** 学员姓名 */
    @Excel(name = "学员姓名")
    private String customerName;

    /** 学院编号 */
    @Excel(name = "学员编号")
    private String customerCode;

    /** 年级 */
    @Excel(name = "年级")
    private Long grade;

    /** 合同类型 */
    @Excel(name = "合同类型")
    private Long contractType;

    /** 合同类型名称 */
    @Excel(name = "合同类型名称")
    private String contractTypeName;

    /** 客户主键 */
    @Excel(name = "客户主键")
    private Long customerId;

    /** 校区主键 */
    @Excel(name = "校区主键")
    private Long campusId;

    /** 校区名称 */
    @Excel(name = "校区名称")
    private String campusName;

    /** 科目名称 */
    @Excel(name = "科目名称")
    private String subjectClassName;

    public String getSubjectClassName() {
        return subjectClassName;
    }

    public void setSubjectClassName(String subjectClassName) {
        this.subjectClassName = subjectClassName;
    }

    public Long getCampusId() {
        return campusId;
    }

    public void setCampusId(Long campusId) {
        this.campusId = campusId;
    }

    public String getCampusName() {
        return campusName;
    }

    public void setCampusName(String campusName) {
        this.campusName = campusName;
    }

    public Long getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Long customerId) {
        this.customerId = customerId;
    }

    public String getContractTypeName() {
        return contractTypeName;
    }

    public void setContractTypeName(String contractTypeName) {
        this.contractTypeName = contractTypeName;
    }

    public Long getRemainingClassTime() {
        return remainingClassTime;
    }

    public void setRemainingClassTime(Long remainingClassTime) {
        this.remainingClassTime = remainingClassTime;
    }

    public Long getNotDuringClassTime() {
        return notDuringClassTime;
    }

    public void setNotDuringClassTime(Long notDuringClassTime) {
        this.notDuringClassTime = notDuringClassTime;
    }

    public Long getContractType() {
        return contractType;
    }

    public void setContractType(Long contractType) {
        this.contractType = contractType;
    }

    public Long getGrade() {
        return grade;
    }

    public void setGrade(Long grade) {
        this.grade = grade;
    }

    public String getCustomerCode() {
        return customerCode;
    }

    public void setCustomerCode(String customerCode) {
        this.customerCode = customerCode;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getContractCode() {
        return contractCode;
    }

    public void setContractCode(String contractCode) {
        this.contractCode = contractCode;
    }

    public Long getDuringClassTime() {
        return duringClassTime;
    }

    public void setDuringClassTime(Long duringClassTime) {
        this.duringClassTime = duringClassTime;
    }

    public Long getStatus() {
        return status;
    }

    public void setStatus(Long status) {
        this.status = status;
    }

    public Long getContractId() {
        return contractId;
    }

    public void setContractId(Long contractId) {
        this.contractId = contractId;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setSubjectClassId(Long subjectClassId)
    {
        this.subjectClassId = subjectClassId;
    }

    public Long getSubjectClassId()
    {
        return subjectClassId;
    }

    public void setSubjectClassTime(Long subjectClassTime)
    {
        this.subjectClassTime = subjectClassTime;
    }

    public Long getSubjectClassTime()
    {
        return subjectClassTime;
    }

    public void setPrice(BigDecimal price)
    {
        this.price = price;
    }

    public BigDecimal getPrice()
    {
        return price;
    }

    public void setLabelType(Long labelType)
    {
        this.labelType = labelType;
    }

    public Long getLabelType()
    {
        return labelType;
    }

    public void setScholarshipDiscount(Long scholarshipDiscount)
    {
        this.scholarshipDiscount = scholarshipDiscount;
    }

    public Long getScholarshipDiscount()
    {
        return scholarshipDiscount;
    }

    public void setTotalPrice(BigDecimal totalPrice)
    {
        this.totalPrice = totalPrice;
    }

    public BigDecimal getTotalPrice()
    {
        return totalPrice;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("subjectClassId", getSubjectClassId())
                .append("subjectClassTime", getSubjectClassTime())
                .append("price", getPrice())
                .append("labelType", getLabelType())
                .append("scholarshipDiscount", getScholarshipDiscount())
                .append("totalPrice", getTotalPrice())
                .toString();
    }
}